1. Field of the Invention
The present invention relates in general to serial bus devices, and more particularly, to serial bus hub controllers.
2. Description of the Related Art
The development of the universal serial bus (USB) standard has allowed a significant improvement in the connection of peripheral devices to a personal computer (PC) by allowing for multiple peripheral devices to be connected to a PCI bus of the PC through a USB host controller. As shown in FIG. 1, devices, such as printers, monitors, keyboards, auxiliary storage drives and scanners may connect to the host device, usually a PC, through the USB host controller (2) in a tiered star topology. Typically, the USB host controller (2) is at the center of the star topology with the host computer (1) on the upper tier and the devices (3) on the lower tier. The USB host controller (2) connects to the PCI bus (not shown) of the host computer (1). The USB host controller (2) connects to the devices (3) via a root hub (10). As shown in FIG. 2, the root hub (10) has two major functional components: the hub controller (4) and the hub repeater (5). The hub controller (4) and the hub repeater (5) both connect to the PCI bus of the host computer (2) through the upstream port (6). The hub controller (4) issues enable and disable commands to the hub repeater (5). The hub repeater (5) connects the hub controller (4) to the devices (3) through downstream ports (7). The devices (3) include a USB bus interface (not shown) and a USB logical device (not shown) for communication with the USB hub repeater through the downstream port the device is connected to. The devices can also function as hubs, as illustrated by compound device (8) which has a hub (9) as part of the compound device. The compound device (8) allows multiple other devices (3) to be connected to the host computer (1). The compound devices have their own functionality, such as a keyboard which allows connection of a joystick. Additional hubs (46) may be connected to the downstream ports of the compound device (8) to expand the number of devices (3) connectable to the host computer (1). Additional details on the USB system are described in "Universal Serial Bus System Architecture" by Don Anderson, Mindshare, Inc., published by Addison-Wesley Developers Press, which is incorporated in its entirety by reference herein.
In the typical tiered star topology of the USB system peripheral devices are not capable of communicating directly. Instead, they communicate through the host device. In the USB system the hubs receive upstream information and, in an active mode, pass this information upstream in the direction of the host controller. The hubs pass downstream information to all of the enabled downstream ports. Thus, the hub "broadcasts" information to all of the enabled downstream ports.
While a USB device such as a USB monitor ordinarily can receive signals from the host device through the USB host controller, some currently available monitors do not include the necessary hardware to interface with a USB host controller. Some existing hubs with a compound device include a serial interface for communication with an external non-USB microcontroller. Unfortunately, a serial interface bus ordinarily does not provide for the ability to resume the clock received from the microcontroller. The serial interface between the USB hub and a microcontroller requires a clock signal be provided. As such, a typical USB suspend mode which stopped the clock signal would result in the inability of the microcontroller to send a resume request to the hub as the clock signal is required for communication between the hub and the microcontroller. Accordingly, a typical suspend mode cannot be entered as there is no way to wake up the hub once the clock signal has been stopped. While other functions of the hub can be shut down in a partial suspend mode, the need to provide clock signals for communication between the hub and the microcontroller increases the power consumed in such a partial suspend mode.
In some applications the lack of an ability to restart the clock from an external non-USB microcontroller limits the convenience and functionality of the hub. For example, when an external monitor is used which is controlled by hand held infrared (IR) remote controller device, the signals received from the remote controller device to activate the monitor's microcontroller cannot readily cancel the suspend mode of the host computer through the USB hub.
Accordingly, there is a need for an interface which allows an non-USB microcontroller controlled device to interface with a USB hub and to enable resume signals from the microcontroller to cancel the suspend mode of both the host computer and the hub.